package com.xl.yygh.hosp.service;

import com.xl.yygh.model.model.hosp.Department;
import com.xl.yygh.model.model.hosp.Hospital;
import com.xl.yygh.model.vo.hosp.DepartmentQueryVo;
import com.xl.yygh.model.vo.hosp.HospitalQueryVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * @author XiangLiang
 * @date 2023/10/24 14:12
 * @description
 */
public interface HospitalService {

    /**
     * 上传医院信息
     *
     * @param map 医院信息Map
     */
    void saveHospital(Map<String, Object> map);

    /**
     * 根据签名传回医院信息
     *
     * @param hoscode 医院编号
     */
    Hospital getHospital(String hoscode);

    /**
     * 获取分页列表
     *
     * @param page            当前页
     * @param limit           每页记录数
     * @param hospitalQueryVo 查询VO
     * @return 分页列表
     */
    Page<Hospital> selectPage(Integer page, Integer limit, HospitalQueryVo hospitalQueryVo);

    /**
     * 更新上线状态
     *
     * @param id     医院id
     * @param status 状态（0：未上线 / 1：已上线）
     */
    void updateStatus(String id, Integer status);

    /**
     * 获取医院详情
     *
     * @param id 医院ID
     * @return 医院详情和排班情况
     */
    Map<String, Object> show(String id);

    /**
     * 获取医院名称
     *
     * @param hoscode 医院编号
     * @return 医院名称
     */
    String getHospName(String hoscode);

    /**
     * 根据医院名称查询
     *
     * @param hosname 医院名称
     * @return 医院信息List
     */
    List<Hospital> findByHosname(String hosname);

    /**
     * 根据医院编号获取医院预约挂号详情
     *
     * @param hoscode 医院编号
     * @return 医院预约挂号详情
     */
    Map<String, Object> item(String hoscode);
}
